package com.aaa.service.impl;

import com.aaa.dao.MenuDao;
import com.aaa.entity.Menu;
import com.aaa.service.MenuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class MenuServiceImpl extends ServiceImpl<MenuDao, Menu> implements MenuService {
    @Resource
    MenuDao menuDao;
    @Override
    public List<Menu> selectMenu(Integer id) {
        //先查到用户能操作的一级菜单
        List<Menu> menus = menuDao.selectOne(id);
        //再将用户能操作的一级菜单遍历出来去查询用户能操作的一级菜单下的子菜单
        for(Menu menu:menus){
            List<Menu> menus1 = menuDao.selectChildren(id, menu.getMid());
            //把查到的子菜单放到一级菜单下的子属性中
            menu.setChildren(menus1);
        }
        return menus;
    }

    @Override
    public List<String> selectPermit(Integer id) {
        return menuDao.selectPermit(id);
    }

    @Override
    public List<Integer> selectQxId(Integer rid) {
        List<Integer> menus = menuDao.selectQxId(rid);
        return menus;
    }

    @Override
    public List<Menu> selectAllMenu() {
        List<Menu> menus = menuDao.selectOneMenu();
        for (Menu menu:menus){
            List<Menu> menus1=menuDao.selectTwoMenu(menu.getMid());
            menu.setChildren(menus1);
        }
        return menus;
    }
}
